/*
 * Copyright (c) 2006-2020, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2020-05-21     chenhy       the first version
 */
#include "board.h"
#include "gpio.h"
int PA10_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_10;
  gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOA, &gpio_init);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET);
  return 0;
}
INIT_BOARD_EXPORT(PA10_init);

int PA11_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_11;
  gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOA, &gpio_init);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_11, GPIO_PIN_SET);
  return 0;
}
INIT_BOARD_EXPORT(PA11_init);

int PA12_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_12;
  gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOA, &gpio_init);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
  return 0;
}
INIT_BOARD_EXPORT(PA12_init);

int PB00_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_0;
  gpio_init.Mode = GPIO_MODE_OUTPUT_OD;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &gpio_init);
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
  return 0;
}
INIT_BOARD_EXPORT(PB00_init);

int PB01_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_1;
  gpio_init.Mode = GPIO_MODE_OUTPUT_OD;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &gpio_init);
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET);
  return 0;
}
INIT_BOARD_EXPORT(PB01_init);

int PB12_init(void)
{
  GPIO_InitTypeDef gpio_init;
  __HAL_RCC_GPIOA_CLK_ENABLE();
  gpio_init.Pin = GPIO_PIN_12;
  gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
  gpio_init.Pull = GPIO_NOPULL;
  gpio_init.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOB, &gpio_init);
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
  return 0;
}
// INIT_BOARD_EXPORT(PB12_init);
